package grpcx

import (
	"common"
	"context"
	"github.com/gin-gonic/gin"
	"google.golang.org/grpc/metadata"
	"strconv"
)

// GetUserMetaData 获取用户id metadata
func GetUserMetaData(ctx *gin.Context) metadata.MD {
	md := make(metadata.MD, 1)
	userId, ok := common.GetGinUserId(ctx)
	if ok {
		//转换为string类型
		md.Append("user_id", strconv.Itoa(int(userId.(int32))))
	}
	return md
}

// GetUserMetaDataByGrpc 获取 grpc 的用户 id 放到 metadata 里
func GetUserMetaDataByGrpc(ctx context.Context) metadata.MD {
	md := make(metadata.MD, 1)
	user, err := common.GetUserByGrpc(ctx)
	if err == nil {
		//转换为string类型
		md.Append("user_id", strconv.Itoa(int(user.ID)))
	}
	return md
}
